import { loadProdVueFile } from './prodFileLoader'

// src/utils/loadVueFile.ts
interface VueFileContent {
    template?: string
    script?: string
    style?: string
}

export const loadVueFile = async (filePath: string,type:string) => {
    console.log(import.meta.env,'环境变量')
    if (import.meta.env.PROD) {
        const content = await loadProdVueFile(filePath,type)
        return content ? content : null
    }

    // 开发环境直接加载
    try {
        const path_ =  filePath.startsWith('@/')
            ? filePath.replace('@/', '../')
            : filePath
        // 2. 使用 import.meta.glob 加载文件
        const modules = import.meta.glob(`../examples/**/*.{vue,js,ts,jsx,tsx}`, { as: 'raw' })
        const modulePath = Object.keys(modules).find((item) =>{
            return item.endsWith(path_)
        } )
        if (!modulePath) {
            throw new Error(`File not found: ${path_}`)
        }
        // 3. 获取文件内容
        const content = await modules[modulePath]()
        return content
    } catch (error) {
        console.error('Failed to load Vue file:', error)
        return null
    }
}
